package com.yuqih.common.config;

import com.yuqih.common.dao.IBaseDao;
import com.yuqih.common.dao.IConditionHandler;
import com.yuqih.common.dao.ISortParser;
import com.yuqih.common.dto.TypeDescriptor;
import com.yuqih.common.service.IBaseService;

public interface IFrameworkConfig {
	
	String getMybatisNamespace(Class<?> entityType);
	
	IConditionHandler getConditionHandler(Class<?> entityType);
	
	Class<?> getModelType(Class<?> entityType);
	
	Class<?> getEntityType(Class<?> modelType);
	
	Class<?> getConditionType(Class<?> modelOrEntityType);
	
	IBaseDao<?, ?, ?> getBaseDao(Class<?> modelOrEntityType);
	
	IBaseService<?, ?, ?> getBaseService(Class<?> modelType);
	
	TypeDescriptor getTypeDescriptor(Class<?> type);
	
	ISortParser getSortParser(Class<?> entityType);

}
